from multiprocessing import Process


def eat(name):
    print(f"{name}在吃")


def sleep(name):
    print(f"{name}在睡觉")


if __name__ == "__main__":
    p1 = Process(target=eat, args=("leslie",))
    p2 = Process(target=sleep, args=("ziyi",))

    p1.start()
    p1.join()  # 主进程等待 p1 执行完毕后再继续执行
    p2.start()  # 启动第二个子进程，执行 sleep 函数
    p2.join()  # 主进程等待 p2 执行完毕后再继续执行

    # p1.is_alive() 和 p2.is_alive(): 检查进程是否仍在运行.
    # 由于前面已经调用了 join()，这两个进程在此处都已执行完毕，因此输出结果均为 False.
    print(f"p1 is alive? ", p1.is_alive())
    print(f"p2 is alive? ", p2.is_alive())

# 写在主进程中判断存活状态, 需要加入 join 阻塞一下
